package com.prd.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 工作单数据表
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-11-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("work_order")
public class WorkOrderDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
      @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 工作单主题
     */
    private String orderTitle;

    /**
     * 绩效维度0-内部运营1-客户2-财务3-学习与成长
     */
    private Integer performanceDimension;

    /**
     * 工作安排人
     */
    private String workPlanBy;

    /**
     * 工作安排人id
     */
    private Long workPlanId;

    /**
     * 工作单负责人
     */
    private String workLeaderBy;

    /**
     * 工作单负责人id
     */
    private Long workLeaderId;

    /**
     * 制单人
     */
    private String createdWorkOrderBy;

    /**
     * 制单人id
     */
    private Long createdWorkOrderId;

    /**
     * 执行人
     */
    private String executor;

    /**
     * 执行人id
     */
    private Long executorId;

    /**
     * 督导人
     */
    private String supervisor;

    /**
     * 督导人id
     */
    private Long supervisorId;

    /**
     * 执行负责人
     */
    private String leaderExecutor;

    /**
     * 执行负责人id
     */
    private Long leaderExecutorId;

    /**
     * 督导负责人
     */
    private String leaderWatcher;

    /**
     * 督导负责人id
     */
    private Long leaderSupervisorId;

    /**
     * 预决算督导
     */
    private String budgetSupervisor;

    /**
     * 预决算督导id
     */
    private Long budgetSupervisorId;

    /**
     * 抄送
     */
    private String ccTo;

    /**
     * 工作单状态0-草稿1-待执行2-未安排3-执行中4-重新执行5-预完成6-已完成7-已撤销
     */
    private Integer orderStatus;

    /**
     * 角色0-制单人1-工作单负责人2-执行负责人3-督导负责人4-工作安排人5-预/决算督导
     */
    private Integer role;

    /**
     * 创建时间
     */
    private LocalDate createdTime;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建人id
     */
    private Long createdById;

    /**
     * 创建工作单日期
     */
    private LocalDate createdOrderDate;


}
